Integrated circuit (IC) cards, commonly referred to as “smart cards” are widely used for data access protection. The smart card is generally a plastic card with a secure memory or microcontroller built into the card. The storage area of the secure memory is often divided into blocks of memory. The object of providing security to a memory is to protect against unauthorized access to and tampering with the data stored in these blocks of memory.
Smart cards have been used in a variety of applications. Some of these applications include, for example, electronic cash cards, in which monetary values are stored on the card to conduct electronic commerce, pre-paid telephone cards, in which a prepaid monetary value is stored on the card and is deducted by the appropriate amount during telephone use, and customer loyalty cards, in which a customer receives points from purchases at a grocery store, gas station, etc. . . . and then the points are accumulated on the card and are later exchanged for prizes, monetary discounts, or other benefits. Obviously, it is important to the institution who issued the card, be it a bank, phone company, or grocery store, as well as to the consumer using the card, that the smart card be secure from unscrupulous people who would attempt to tamper with or gain unauthorized access to the data on the card.
Many cryptology methods have been used to provide security to the data on the smart cards. In cryptology, the plain text message, which often is computer data in binary streams of 1's and 0's, is transformed under the control of a key, known only to the legitimate communicants, into ciphertext or encrypted data. Cryptology is used for a number of security functions of the smart card. For example, the user must corroborate his identity to the card each time that a transaction is made. Typically, the card and the card reader execute a sequence of encrypted sign/countersign-like exchanges to verify that each is dealing with a legitimate counterpart. Once this exchange is carried out, then the transaction itself is carried out in encrypted form to prevent anyone, including the card holder or the merchant whose card reader is involved, from eavesdropping on the exchange and then later impersonating either party to defraud the system. This cryptology security protocol is usually carried out in such a way that it is transparent to the user, except for the necessity of entering a password or PIN to initiate the transaction.
The majority of smart cards presently available incorporate an internal microprocessor in order to carry out the authentication and security functions. However, microprocessor-based smart cards are expensive, and thus are not normally used for inexpensive, large-scale consumer products.